
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.dw2.vista; 

import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.its.desarrollosw2.Libro;
import mx.its.desarrollosw2.Prestamo;
import mx.its.desarrollosw2.Usuario;
import mx.its.dsw2.biblioteca.bl.LibroBlLocal;
import mx.its.dsw2.biblioteca.bl.PrestamoBlLocal;
import mx.its.dsw2.biblioteca.bl.UsuarioBlLocal;


/**
 *
 * @author sistemas
 */
@ManagedBean
@SessionScoped
public class PrestamoBean {
    @EJB
    private PrestamoBlLocal prestamoBl;
    @EJB
    private UsuarioBlLocal usuarioBl;
    @EJB
    private LibroBlLocal libroBl;
    @EJB
    private Prestamo prestamo;
    
    private List<Prestamo> lista;
    private int idUsuarioSeleccionado;
    private List<Libro> listaLibros;
    private String claveLibro;
    private boolean visible=false;
    private Usuario usuario;
    private String accion;
    /**
     * Creates a new instance of PrestamoBean
     */
    public PrestamoBean() {
        prestamo=new Prestamo();
        listaLibros=new ArrayList<Libro>();
    }
 public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public String getClaveLibro() {
        return claveLibro;
    }

    public void setClaveLibro(String claveLibro) {
        this.claveLibro = claveLibro;
    }

    public Prestamo getPrestamo() {
        return prestamo;
    }

    public void setPrestamo(Prestamo prestamo) {
        this.prestamo = prestamo;
    }
    public boolean isVisible() {
        return visible;
    }

    public void setVisible(boolean visible) {
        this.visible = visible;
    }

    public PrestamoBlLocal getPrestamoBl() {
        return prestamoBl;
    }

    public void setPrestamoBl(PrestamoBlLocal prestamoBl) {
        this.prestamoBl = prestamoBl;
    }

    public int getidUsuarioSeleccionado() {
        return idUsuarioSeleccionado;
    }

    public void setidUsuarioSeleccionado(int usuarioSeleccionado) {
        this.idUsuarioSeleccionado = usuarioSeleccionado;
    }
    public List<Prestamo> getLista(){
    lista=prestamoBl.getAll();
    return lista;
    }    
    public void setLista(List<Prestamo> lista) {
        this.lista = lista;
    }  
    public List<Libro> getListaLibros() {
        return listaLibros;
    }
    public void agregarLibro(ActionEvent evt){
    Libro l=libroBl.findBookForLend(claveLibro);
        if(l!=null){
    listaLibros.add(l);
    }
    }
    public void mostrarContenido(ActionEvent evt){
    visible=true;
    usuario=usuarioBl.findById(idUsuarioSeleccionado);
    
}

public String procesarAccion(){
if(accion.equalsIgnoreCase("Nuevo")){
    prestamoBl.register(prestamo, listaLibros);
    }

return "PrestamoLista";
}
public void prepararNuevo(ActionEvent evt){
    accion="Nuevo";
    prestamo=new Prestamo();
    
}
public void prepararEditar(ActionEvent evt){
    accion="Editar";
    usuario=new Usuario();
prestamo.getDetallePrestamoList().size();
  System.out.println(evt.getComponent().getClientId());
    int index = Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
    prestamo=lista.get(index);
}
public void prepararEliminar(ActionEvent evt){
     accion ="Eliminar";
    System.out.println(evt.getComponent().getClientId());
    int index = Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
    prestamo=lista.get(index);
}

}

